// pages/cart/cart.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [],
    allCheck: false,
    allprice: 0, //总价
    allcount: 0, //选中商品的个数
   


  },
  // // 单选
  // change(a){
  //   console.log(a.currentTarget.dataset.index);

  //   var list = wx.getStorageSync('shopcart');
  //   var i = a.currentTarget.dataset.index;
  //   list[parseInt(i)].isCheck= !list[parseInt(i)].isCheck;
  //  var isCheck= list.every((elem,index,arr)=>{
  //     return elem.ischeck == true;
  //   })
  //   console.log(isCheck);
  //   wx.setStorageSync('shopcart', list);
  //  this.setData({
  //   allCheck:ischeck
  //  })




  // },
  //删除
  del(a) {
    var list = wx.getStorageSync('shopcart');
    wx.showModal({
      title: '确定删除吗？',
      cancelColor: '这是一个模拟弹窗',
      success: (res) => {
        if (res.confirm) {
          list.splice(a.currentTarget.dataset.index, 1);
        }
        wx.setStorageSync('shopcart', list);
        this.setData({
          list: list
        })
        this.computeds();
      }
    })
   

  },
  //减少数量
  reduce(a) {
    console.log(a);
    var i = a.currentTarget.dataset.index;
    var list = wx.getStorageSync('shopcart');
    console.log(list[parseInt(i)]);
    if (list[parseInt(i)].count > 1) {
      list[parseInt(i)].count--;
      wx.setStorageSync('shopcart', list);
      this.setData({
        list: list
      })
      this.computeds();
    }

  },


  //增加数量
  add(a) {
    var list = wx.getStorageSync('shopcart');
    var i = a.currentTarget.dataset.index;
    if (list[parseInt(i)].count <= 200) {
      list[parseInt(i)].count++;
      wx.setStorageSync('shopcart', list);
      this.setData({
        list: list
      })
      this.computeds();
    }

  },
  // 跳转到商品详情页
  detail(a) {
    wx.navigateTo({
      url: `../detail/detail?id=${a.currentTarget.dataset.id}`,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    var shopcart = wx.getStorageSync("shopcart") || [];

    // 从数组中查找，是否含有符合条件的元素，如果有就返回true，否则返回false
    var ischeck = shopcart.every((elem, index, arr) => {
      return elem.isCheck == true
    })

    // 如果有一个没选中就返回false
    this.setData({
      list: shopcart
    });
    // 过滤出选中的商品
    var checkList = shopcart.filter((elem) => {
      return elem.isCheck == true
    })
    console.log(checkList)
    var allprice = checkList.reduce((prev, elem) => {
      return prev + elem.count * elem.goods_price;
    }, 0)
    console.log(allprice)
    this.setData({
      allCheck: ischeck,
      allprice: allprice,
      checkList: checkList
    })

  },

  computeds() {
    var shopcart = wx.getStorageSync("shopcart");

    var ischeck = shopcart.every((elem, index, arr) => {
      return elem.isCheck == true
    })
    var allprice = 0;
    var allcount = 0; //总数量
    for (var a = 0; a < shopcart.length; a++) {
      if (shopcart[a].isCheck == true) {
        allcount++;
        allprice += shopcart[a].count * shopcart[a].goods_price;
      }

    }
    this.setData({
      allCheck: ischeck,
      allprice: allprice,
      allcount: allcount,
    })


  },
  // 单选
  change(a) {
    // console.log(a.currentTarget.data set.index)
    var shopcart = wx.getStorageSync("shopcart");
    shopcart[a.currentTarget.dataset.index].isCheck = !shopcart[a.currentTarget.dataset.index].isCheck;

    wx.setStorageSync('shopcart', shopcart)
    // 从数组中查找，是否含有符合条件的元素，如果有就返回true，否则返回false
    var ischeck = shopcart.every((elem, index, arr) => {
      return elem.isCheck == true
    })
    console.log(ischeck)
    // 如果有一个没选中就返回false


    wx.setStorageSync("shopcart", shopcart);
    // 过滤出选中的商品
    var allprice = 0;
    var allcount = 0; //总数量
    for (var a = 0; a < shopcart.length; a++) {
      if (shopcart[a].isCheck == true) {
        allcount++;
        allprice += shopcart[a].count * shopcart[a].goods_price;
      }

    }

    // var checkList = list.filter((elem) => {
    //   return elem.isCheck == true
    // })
    // console.log(checkList)
    // var allprice = checkList.reduce((prev, elem) => {
    //   return prev + elem.count * elem.goods_price;
    // }, 0)
    console.log(allprice)
    this.setData({
      allCheck: ischeck,
      allprice: allprice,
      allcount: allcount
    })



  },
  
  // 全选
  checkAll() {
    this.setData({
      allCheck: !this.data.allCheck
    })
    // 将storage中的商品的isCheck的值都和allCheck一致
    var shopcart = wx.getStorageSync("shopcart");
    shopcart.forEach((elem) => {
      elem.isCheck = this.data.allCheck;
    });
    wx.setStorageSync("shopcart", shopcart);


    // 选择出选中的商品进行计算
    var checkList = shopcart.filter((elem) => {
      return elem.isCheck == true
    })

    var allprice = checkList.reduce((prev, elem) => {
      return prev + elem.count * elem.goods_price;
    }, 0)
    console.log(allprice)
    this.setData({

      allprice: allprice,
      list: shopcart,
      checkList: checkList,


    })

  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})